package com.ruoyi.fly.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 小程序用户表 applet_member
 */

@Data
@NoArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "AppletMember", description = "小程序用户表")
@AllArgsConstructor
public class AppletMember implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private String id;

    /**
     * 会员微信OPENID
     */
    @ApiModelProperty(value = "会员微信OPENID")
    @Excel(name = "会员微信OPENID")
    private String openid;

    /**
     * 登录用户名
     */
    @ApiModelProperty(value = "登录用户名")
    @Excel(name = "登录用户名")
    private String account;

    /**
     * 会员手机号
     */
    @ApiModelProperty(value = "会员手机号")
    @Excel(name = "会员手机号")
    private String phone;

    /**
     * 登录密码
     */
    @ApiModelProperty(value = "登录密码")
    @Excel(name = "登录密码")
    private String password;

    /**
     * 余额支付密码
     */
    @ApiModelProperty(value = "余额支付密码")
    @Excel(name = "余额支付密码")
    private String payPassword;

    /**
     * 会员昵称
     */
    @ApiModelProperty(value = "会员昵称")
    @Excel(name = "会员昵称")
    private String nickname;

    /**
     * 会员头像
     */
    @ApiModelProperty(value = "会员头像")
    @Excel(name = "会员头像")
    private String headimg;

    /**
     * 用户类型 1-普通用户 2-商家用户 3-核销人员
     */
    @ApiModelProperty(value = "用户类型 1-普通用户 2-商家用户 3-核销人员")
    @Excel(name = "用户类型 1-普通用户 2-商家用户 3-核销人员")
    private String userType;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    @Excel(name = "性别")
    private String sex;

    /**
     * 会员个性签名
     */
    @ApiModelProperty(value = "会员个性签名")
    private String remark;

    /**
     * 会员级别
     */
    @ApiModelProperty(value = "会员级别")
    @Excel(name = "会员级别")
    private String level;

    /**
     * 默认收货地址
     */
    @ApiModelProperty(value = "默认收货地址")
    @Excel(name = "默认收货地址")
    private String addressId;

    /**
     * 会员状态0正常 1拉黑
     */
    @ApiModelProperty(value = "会员状态0正常 1拉黑")
    @Excel(name = "会员状态0正常 1拉黑")
    private String status;

    /**
     * 最后一次登录时间
     */
    @ApiModelProperty(value = "最后一次登录时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人")
    private Long createUser;

    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    @Excel(name = "更新人")
    private Long updateUser;

    /**
     * 登录次数
     */
    @ApiModelProperty(value = "登录次数")
    @Excel(name = "登录次数")
    private String loginNum;

    /**
     * 是否为分销商 0 否 1 是
     */
    @ApiModelProperty(value = "是否为分销商 0 否 1 是")
    @Excel(name = "是否为分销商 0 否 1 是")
    private String isDistribute;

    /**
     * 第一个上级
     */
    @ApiModelProperty(value = "第一个上级")
    @Excel(name = "第一个上级")
    private String firstLeader;

    /**
     * 第二个上级
     */
    @ApiModelProperty(value = "第二个上级")
    @Excel(name = "第二个上级")
    private String secondLeader;

    /**
     * 第三个上级
     */
    @ApiModelProperty(value = "第三个上级")
    @Excel(name = "第三个上级")
    private String thirdLeader;

    /**
     * 消费总额
     */
    @ApiModelProperty(value = "消费总额")
    @Excel(name = "消费总额")
    private Long expendAmount;

    /**
     * 购买次数
     */
    @ApiModelProperty(value = "购买次数")
    @Excel(name = "购买次数")
    private Long buyTimes;

    /**
     * 最近一次购买时间
     */
    @ApiModelProperty(value = "最近一次购买时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近一次购买时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastBuyTime;

    /**
     * 会员积分
     */
    @ApiModelProperty(value = "会员积分")
    @Excel(name = "会员积分")
    private BigDecimal integral;

    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号")
    @Excel(name = "车牌号")
    private String licensePlate;

    /**
     * vip到期时间
     */
    @ApiModelProperty(value = "vip到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "vip到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vipTime;

    /**
     * 优惠金
     */
    @ApiModelProperty(value = "优惠金")
    @Excel(name = "优惠金")
    private BigDecimal coupons;

    /**
     * 余额
     */
    @ApiModelProperty(value = "余额")
    @Excel(name = "余额")
    private BigDecimal balance;

    /**
     * 推荐人电话
     */
    @ApiModelProperty(value = "推荐人电话")
    @Excel(name = "推荐人电话")
    private String referPhone;

    /**
     * 提成
     */
    @ApiModelProperty(value = "提成")
    @Excel(name = "提成")
    private BigDecimal tichneg;

    /**
     * 逻辑删除 1-删除 0-未删除
     */
    @ApiModelProperty(value = "逻辑删除 1-删除 0-未删除")
    @Excel(name = "逻辑删除 1-删除 0-未删除")
    private Long isDelete;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "yyyy-MM-dd HH:mm:ss")
    private String createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "yyyy-MM-dd HH:mm:ss")
    private String updateTime;




}
